#include <stdio.h>
#include <unistd.h>
#include <signal.h>

void sigcallback(int sig){
    printf("recv sig num is %d\n", sig);
}

int main(){

    //1.将40号/2号信号自定义信号的处理方式
    signal(40, sigcallback);
    signal(2,  sigcallback);

    //2. 阻塞"全部"信号（40/2）
    sigset_t set;
    //将 set 的所有比特位全部设置为1 ： int sigfillset(sigset_t *set);
    sigfillset(&set);

    sigprocmask(SIG_BLOCK, &set, NULL);


    //3.人为给该进程发送多次， 40/2号信号

    //4.解除所有信号的阻塞（40/2）
    //getchar 就是让程序等待到这里， 给用户发送信号争取时间
    getchar();
    sigprocmask(SIG_UNBLOCK, &set, NULL);

    return 0;
}

